The background description provided herein is for generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art or suggestions of the prior art, by inclusion in this section.
Computer virtualization includes the virtualization of computer hardware. From the perspective of a user, computer virtualization may provide an abstract computing platform, e.g., a virtual machine (VM), for executing a set of programs independent of execution of other sets of programs or other abstract computing platforms, while sharing the underlying hardware. Typically, each VM has its own operating system, which might be the same or different from other VMs' operating systems. Virtualization may be controlled by a hypervisor, also known as a virtual machine monitor (VMM).
Jitter may occur in VM exit or VM entry times. When a VM exit occurs, some of the hypervisor's data or code may have to be fetched from the main memory. Similarly, on the other side, when the hypervisor returns control to the VM (e.g., after a VM entry), some of the VM's data or code may have to be fetched from the main memory. The effect of jitter may become more severe in a multi-core execution scenario, where the cores may evict data or code from each other's cache or shared cache. Jitter may become a serious issue for workload consolidation when two systems try to run independently on a single or multi-core system, e.g., when running real-time operating systems and general purpose operating systems on the same multi-core processor.